Limitations/Known Bugs

There are a number of problems with the system that are due to the way the current java environments are implemented.

Netscape does not allow an applet to instantiate a class loader. There is absolutely no reason to prevent this, since this is one of the great advantages of the java language, and not a security risk (at least not even close as bad as loading libraries...) We hope that netscape changes that soon. To keep the system runnable by netscape, the implementation of como.io.ObjectInputStream is a little awkward. All classes are checked for manually. The much nicer code that utilizes a class loader is included as a comment.

Under Windows 95, the message boxes we use look strange, because netscape does not handle Layouts in Frames correctly. The line at the bottom that says "Untrusted java applet window" is not subtracted from the frame size, so part of it is invisible.

Under Solaris using netscape, the Choice for the selected users is not painted after the user clicked on "See who is on this Channel". Apparently, there is a bug in Choice.select(int) and Choice.select(String). Under appletviewer, this works fine.

The normal ircd written in C does not support messages longer than about 450 characters. Thus, the objects that are sent must be shorter than that. Also, it delays messages from a user who sent more than 3 or 4 messages within about a second. This could probably be fixed by changing the ircd's C source code.

Since it is mainly intended for evaluation and testing, our IRCd written in java does not support pattern matching. Too bad java.lang.String does not have something like a String.matches(String pattern), that would have made it much easier.

Also, the java IRCd sometimes does not delete users that have left. This is a bug in the IRCd program, not in Como itself. Everything works fine with the normal ircd.

Sometimes, when images are loaded asynchronously or resized, the awt does not finish preparing the images until the next images is drawn. Even when draw is expicitly called after 10 minutes when the images must have been rescaled in the meantime, checkImage still returns (WIDTH|HEIGHT|PROPERTIES) and not ALLBITS.

Under Windows 95, with Opaque resize, (e.g. Plus! installed), images move around the frames when the window size is changed. This is probably a bug in W95.

Under netscape, it is not possible to start the ComoIRCClient and ComoPageClient at the same time. For some strange reason, these threads are not clearly separated, which sometimes causes the SuperChat to lock up in socket.read().